import requests


class HTTPRequests:
    @staticmethod
    def get(url, params=None, headers=None, auth=None):
        """
        发送 GET 请求
        :param url: 请求的URL地址
        :param params: URL中的参数，字典或字节序列，可选
        :param headers: 请求头字典或字节序列，可选
        :param auth: Auth基本验证元组，可选
        :return: 响应对象
        """
        response = requests.get(url, params=params, headers=headers, auth=auth)
        response.raise_for_status()  # 如果响应状态码不是200，将抛出HTTPError异常
        return response.text

    @staticmethod
    def post(url, data=None, json=None, headers=None, auth=None):
        """
        发送 POST 请求
        :param url: 请求的URL地址
        :param data: POST请求中的数据，字典或字节序列，可选
        :param json: JSON格式的数据，可选
        :param headers: 请求头字典或字节序列，可选
        :param auth: Auth基本验证元组，可选
        :return: 响应对象
        """
        response = requests.post(url, data=data, json=json, headers=headers, auth=auth)
        print(response.text)
        response.raise_for_status()  # 如果响应状态码不是200，将抛出HTTPError异常
        return response.text

    @staticmethod
    def put(url, data=None, json=None, headers=None, auth=None):
        """
        发送 PUT 请求
        :param url: 请求的URL地址
        :param data: PUT请求中的数据，字典或字节序列，可选
        :param json: JSON格式的数据，可选
        :param headers: 请求头字典或字节序列，可选
        :param auth: Auth基本验证元组，可选
        :return: 响应对象
        """
        response = requests.put(url, data=data, json=json, headers=headers, auth=auth)

        response.raise_for_status()  # 如果响应状态码不是200，将抛出HTTPError异常
        return response
